#ifndef DependencyReader_H
#define DependencyReader_H
#include<iostream>
#include<fstream>
#include<string>
#include<cstdio>
#include"DependencyInstance.h"
using namespace std;

class DependencyReader{
protected:
	FILE* inputReader;
	bool labeled;
	bool hasEnd;
	virtual bool fileContainsLabels(const char* filename);
	string* normalize(string* s);
public:
	DependencyReader();
	~DependencyReader();
	static DependencyReader* createDependencyReader(string &format, bool discourseMode, bool labeled, bool hasEnd);
	bool isLabeled();
	void startReading(const char* file);
	void finishReading();
	virtual DependencyInstance* getNext();

};
#endif
